TCP三次握手和四次挥手

TCP报文的六个标志位 URG:紧急指针(urgent pointer)有效。 ACK:确认序号有效。 PSH:接收方应该尽快将这个报文交给应用层。 RST:重置连接。 SYN:发起一个新连接。 FIN:释放一个连接。 TCP三次握手 所谓三次握手(Three-Way Handshake)即建立TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。 第一次握手Client将标志SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server的确认信息。 第二次握手Server收到数据包后根据SYN=1可知Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认收到了连接请求,Server进入SYN_RCVD状态。 第三次握手Clinet收到确认后,检查ACK标志是否为1且ack是否为J+1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client和Server之间就可以开始传输数据了。

TCP/IP学习笔记(三)

DNS(域名解析服务)DNS可以将字符串自动转化为具体的IP地址。 ARP(地址解析协议) 以目标IP地址为线索,来定位下一个应该接收数据分包的网络设备对应的MAC地址。ARP只适用于IPv4. 通过广播发送一个ARP请求包,其中含有想要了解MAC地址的IP。同一个链路中的主机接收并解析。如何发现需要解析的是自己的IP地址对应的MAC地址的话。就将自己的MAC地址加入ARP响应包中。然后把获取到的MAC地址与IP建立映射。然后缓存一段时间。 RARP 从MAC地址获取IP地址的一种协议。 为了解决一些嵌入式设备无法通过DHCP获得自己的IP地址的问题。所以需要建立一个RARP服务器。 NAT技术 是在本地网络中使用私有地址,在连接互联网式转而使用全局IP地址的技术。 内部有一张进行转换的地址的表。 NAPT为了解决私有网络内部多台机器同时通信时,可能会造成全局IP地址不够用。NAPT采用将端口号一起转换的方式来解决这个问题。 无法从NAT外部向内部服务器建立连接。 转换表的生成和转换操作都会产生一定的开销。 通信过程中如果NAT遇到异常所有的TCP连接都会被重置。即使做了容灾备份也无法避免TCP连接的重置。

TCP/IP协议学习笔记(一)

TCP/IP协议的分层模型1.应用层 2.传输层 3.互联网层 4.网卡层 5.硬件层(物理层) TCP首部包含的信息 1.源端口号和目标端口号(用于识别发送主机和接收主机的应用,每个应用占用特定的端口)2.数据包的序号3.校验和(用于判断数据是否被损坏) IP首部包含的信息1.接收端IP地址和发送端IP地址2.上一层协议类型标志3.接收端的MAC(物理地址)地址 MAC地址1.MAC地址用于识别数据链路中互联的节点。2.MAC地址长48bit,在使用网卡(NIC)的情况下,MAC地址一般烧录在ROM中。理论上讲MAC地址是不会重复的,但是实际上MAC地址有重复的可能,比如虚拟机上