计算机网络知识学习
以下就是计算机网络知识学习等等的介绍,希望为您带来帮助。
一、TCP三次握手和四次挥手的全过程
三次握手
第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。
四次握手
与建立连接的“三次握手”类似,断开一个TCP连接则需要“四次握手”。
第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。
第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。
第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。
二、在浏览器中输入www.baidu.com后执行的全部过程
1、客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。
2、在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
3、客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,我不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。
4、客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。
三、TCP和UDP的区别
TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。
TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。
TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。
计算机网络分类
计算机网络可按多种方式进行分类。
按分布范围分类:广域网(WAN)、局域网(LAN)、城域网(MAN)
按交换方式分类:电路交换网、报文交换网、分组交换网;
按拓扑结构分类:总线网、星形网、环形网、树形网、网状网;
按传输媒体分类:双绞线网络、同轴电缆网络、光纤网络、无线网络;
按信道带宽分类:窄带网、宽带网;
按信息交换范围分类:内部网、外部网:
按社会职能分类:公用网、专用网:
按用途分类:教育网、校园网、科研网、商业网、企业网4军事网等。
目前,网络主要以分布范围为参考进行分类。
(l)局域网
局域网(LAN, Local Area Network):在有限的几百米至几公里的局部地域范围内,将计算机、外设和网络设备互联构成的计算机网络系统。主要涉及到以太网、快速以太网、令牌环网、FDDI、无线网(802。11)、蓝牙等技术。
区别于其他网络,局域网具有以下特点:
l)地理分布范围较小,一般为几百米至几公里。可覆盖一幢大楼、一所校园或一个企业。2)数据传输速率较高,一般为10~1000Mbps,可交换各类数字和非数字(如语音、图像、视频等)信息。
3)误码率低,一般在10一ll~104以下。这是因为局域网通常采用短距离基带传输,可以使用高质量的传输媒体,从而提高了数据传输质量。
4)以计算机为主体,包括终端及各种外设,一般不包含大型网络设备。
5)结构灵活、建网成本低、周期短、便于管理和扩充。
(2)城域网
城域网(MAN,MetropolitanAreaNetwork):覆盖城市范围的计算机网络系统,范围介于局域网与广域网之间。
(3)广域网
广域网(WAN,WideAreaNetwork):分布距离远,包含复杂的网络互联设备。无明确拓扑结构,多采用点对点传输。主要涉及到ISDN,FrameRelay,ATM,DDN,SDH,MPLS 技术。
(4)因特网
因特网(Internet)也称互联网或万维网,是采用TCP/IP通信协议的全球性计算机网络,由全球数以千万计的各种类型和不同规模的计算机网络组成,是全世界所有公开使用的计算机网络的互联总和。
互联网通过普通电话、高速率专用线路、卫星、微波和光缆等通信线路把不同国家的大学、公司、科研机构以及军事和政治等组织的网络连接起来。
IP数据报
在网络层,数据是以IP数据报(IP分组)的形式传输的。
首部前20字节为固定长度,是所有IP数据报必备的,后4字节是可选字段,其长度可变。
IP数据报首部固定的字段分析:
版本号 : IP协议的版本,IPv4或IPv6
首部长度:记录了首部的长度,最大为1111,即15个32位字长,即60字节。 当首部长度不是4字节的整数倍时,需要使用最后的填充字段加以填充。
服务类型:一般无用
总长度:指首部和数据之和的长度。 最大为216-1 = 65535字节。 但是由于数据链路层规定每一帧的数据长度都有最大长度MTU,以太网规定MTU为1500字节,所以超出范围的数据报就必须进行分片处理
标识:每产生一个IP数据报,计数器就+1,并将此值赋值给标识字段。 再以后需要分片的数据报中,标识相同说明是同一个数据报
标志:占3位,最低位记为MF(More Fragment)。 MF = 1说明还有分片; MF = 0说明这已经是最后一个分片。 中间一位记为DF(Don’t Fragment),意思是不能分片。 只有当DF = 0时才允许分片。
段位移:又称片位移,相对于用户数据字段的起点,该片从何处开始。 片位移以8个字节为偏移单位。 所以,每个分片的长度一定是8字节的整数倍。
生存时间 :TTL(Time To Live)。 数据报能在因特网中经过路由器的最大次数为255次,每经过一个路由器则TTL – 1,为0时丢弃该报文。
协议:记录该报文所携带的数据是使用何种协议。
首部检验和:只检验数据报的首部,不检验数据部分, 不为0则丢弃报文。
源地址和目的地址:不解释
TCP报文段的首部
源端口和目的端口 : 同UDP端口作用
序号 : 本报文段的数据的第一个字节的序号
确认号 : 期望收到对方下一个报文段的第一个数据字节的序号
若确认号 = N,则表明 : 到序号N-1为止的所有数据都已正常收到
数据偏移 : TCP报文段的首部长度
保留 : 以后用,目前为0
紧急URG : 若URG = 1时,说明紧急指针字段有效,告诉系统这是紧急数据,应尽快传送。 例如突然要中断传送
确认ACK : ACK = 1时确认号才有效,ACK = 0时确认号无效。 TCP规定,连接建立后所有传送的报文段都必须把ACK置1
推送PSH : 若PSH = 1,则接收方收到报文段之后不再等到整个缓存满而是直接向上交付
复位RST : 当RST = 1,说明TCP连接有严重错误,必须释放连接再重连
同步SYN : 在连接建立时用来同步序号。 当SYN = 1,ACK = 0时表明这是一个连接请求报文段,对方若同意建立连接,则在响应的报文段中置SYN = 1,ACK = 1
终止FIN : 当FIN = 1,表明此报文段的发送方数据已发送完毕,并要求释放连接
窗口 : 告诉对方 : 从本报文段首部中的确认号算起,接收方目前允许对方发送的数据量。 这是作为接收方让发送方设置其发送窗口的依据
检验和 : 同UDP,检验首部和数据部分
紧急指针 : 当URG = 1时有效,指出紧急数据的末尾在报文段的位置
选项 : 最大可40字节,没有则为0
最大报文段长度MSS(Maximum Segment Size) : 每一个TCP报文段中数据字段的最大长度,若不填写则为默认的536字节。