Skip to content

15800688908/JavaTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

(一)请简述TCP\UDP的区别
TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。
两者的区别大致如下:
	TCP面向连接,UDP面向非连接即发送数据前不需要建立连接
	TCP提供可靠的服务(数据传输),UDP无法保证
	TCP面向字节流,UDP面向报文
	TCP数据传输慢,UDP数据传输快
(二)请简单说一下你了解的端口及对应的服务
	端口                                    服务
	21					FTP(文件传输协议)
	22					SSH
	23					Telnet(远程登录服务)
	25					SMTP(简单邮件传输协议)
	53					DNS域名服务器
	80					HTTP超文本传输协议
	110					POP3邮件协议3
	443					HTTPS
	1080				Sockets
	1521				Oracle数据库默认端口
	3306				MySQL服务
(三)说一说TCP的三次握手(四次分手)
在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换TCP窗口大小信息。
	Client              			Server
建     SYN_SENT							LISTEN
连	(connect())	SYN seq=x ->		(listen())
接									SYN_RCVD
三	ESTABLISHED <- SYN seq=y,ACK=x+1
次	
握				ACK=y+1	->			ESTABLISHED
手	

数	(write())   seq=x+1 ACK=y+1	->			
据									(read())
传			<- ACK x+2
输

断	FIN_WAIT_1	FIN seq=x+2 ACK=y+1	->	CLOSE_WAIT
连	
接	FIN_WAIT_2	<- ACK x+3
四	TIME_WAIT	<- FIN seq=y+1			LAST_ACK
次										(close())					
挥				ACK=y+2 ->
手
第一次握手:建立连接,客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN_SEND状态,等待服务器确认
第二次握手:服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认,设置Acknowledgment Number为x+1(Sequence Number+1);同时,
自己还要发送SYN请求信息,将SYN位置为1,Sequence Number为y;服务器端将上述所有信息放到一个报文段(即SYN+ACK报文段)中,一并发送给客户端,
此时服务器进入SYN_RECV状态。
第三次握手:客户端接收到SYN_ACK报文段, 然后将Acknowledgment Number设置为y+1,向服务器发送ACK报文段,这个报文段发送完毕后,
客户端和服务端都进入ESTABLISHED状态,完成TCP三次握手。
(四)有哪些私有(保留)地址
A类: 10.0.0.0 --- 10.255.255.255
B类: 172.16.0.0 --- 172.31.255.255
C类: 192.168.0.0 --- 192.168.255.255
(五)IP地址分为哪几类,简单说一下各个分类
				IPv4地址共有32bit
	网络号		地址范围						网络号	主机号
A类    以0开头		1.0.0.0 - 127.255.255.255   8位		24位
B类    以10开头		128.0.0.0 - 191.255.255.255 16位		16位
C类    以110开头		192.0.0.0 - 223.255.255.255 24位		8位
D类			前四位固定为1110,后面为多播地址,所以D类地址为多播地址
E类				前五位固定为11110,后面保留为今后所有
IPv6 采用128bit,首部固定部分为40字节
(六)在浏览器中输入网址之后执行发生了什么?
查找域名对应的IP地址。这一步会依次查找浏览器的缓存,系统缓存,路由器缓存,ISPNDS缓存,根域名服务器
浏览器向IP对应的web服务器发送一个HTTP请求
服务器响应请求,发回网页内容
浏览器解析网页内容
1.客户端浏览器通过DNS解析到http://www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器
发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。
2.在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用89端口监听客户端的请求,客户端由系统随机选择一个端口如5000,
与服务器进行交换,服务器把相应的请求返回给客户端的5000端口,然后使用IP层的IP地址查找目的端。
3.客户端的网络层不用关系应用层或传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的
工作,无非就是通过查找路由表决定通过那个路径到达服务器。
4.客户端的链路层包,通过链路层发送到路由器,通过邻居协议表查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以
使用ARP的请求应答交换的IP数据包,现在就可以传输了,然后发送IP数据包到达服务器的地址。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages