
TCP/IP
文章平均质量分 73
杨龙飞的博客
让人迷茫的原因只有一个
__ 那就是本该拼博的年纪,却想得太多,做的太少!
展开
-
socket 地址常用的API总结
主机字节序和网络字节序大端:(高低低高)高位字节存储在内存地址的低地址处,低位存储在内存地址的高地址处. 小端:(高高低低)高位字节存储在内存的高地址处,低位存储在内存地址的低地址处。 即使是同一台机器上的两个进程(比如一个由c语言编写,另一个由java编写)通信,也要考虑字节序的问题(java 虚拟机采用大端字节序); accept只是从监听队列中取出连接,而不论连接处于何种变化,原创 2016-03-22 16:36:33 · 909 阅读 · 0 评论 -
TCP/IP学习笔记(1)
1.概述TCP/IP协议族是一个四层协议系统,自底而上分别是数据链路层、网络层、传输层、应用层.如下图: 数据链路层数据链路层实现了网卡接口的网络驱动程序.网络层通过IP地址寻找一台主机,而数据链路层通过物理地址寻找一台机器.ARP协议主要把IP地址转换为其物理地址. RARP协议仅用于网络上某些无盘工作站,因为缺乏存储设备,无盘工作站无法记住自己的IP地址,但他原创 2016-03-14 18:43:06 · 1096 阅读 · 0 评论 -
NAT 原理与NAT穿越
NAT的简介和原理简介NAT即Network Address Translation,它可以让那些使用私有地址的内部网络连接到Internet或其它IP网络上.NAT路由在将内部网络的数据包发送到公用网络时,在IP包的报头把私有地址转换成合法的IP地址.原理:当内部网络中的一台主机想传输数据到外部网络时,它先将数据包传输到NAT路由器上,路由器检查数据包的报头,获取该数据包原创 2016-07-22 15:46:25 · 16195 阅读 · 1 评论 -
TCP的三次握手和四次撒手
一.TCP三次握手建立连接过程TCP是面向连接的协议,无论哪一方发送数据,都必须建立一条连接.先来看6种TCP的位码(即tcp标志位):1.SYN:建立联机;2.ACK:确认;3.PSH:传送;4.FIN:结束;5.RST:重置;6.URG:紧急;seq(Sequeuece number):顺序号码,发送方发出为了确认接受方回应ack=seq+1;a原创 2016-03-12 00:27:39 · 523 阅读 · 0 评论 -
TCP四次挥手中,主动关闭方最后为什么要等待2MSL之后才能关闭连接?
和TCP三次同步握手不一样的是,TCP关闭连接用四次挥手来实现,即A—–>B Fin,B—->A ACK, B—–>A Fin,A—-B ACK A—-B Fin, B—->A ACK,A属于主动关闭方,收到B的ACK之后,A到B的方向连接关闭,即half shutdown,这时不能再发送数据了. 这种状态下B还是可以单向发送数据的,B的数据发送完毕,也可以做关闭动作了, B——>A Fin原创 2017-02-08 20:16:00 · 6607 阅读 · 0 评论 -
浅谈TCP/IP四种计时器、慢启动、拥塞避免、快速重传、快速恢复
持续计时器假设一种场景:A给B发送数据,如果B告诉A自己的缓冲区已满,于是A停止发送数据,等待一段时间后,B的缓冲区出现了富余,于是给A发送报文告诉rwnd大小为400,但是这个报文不幸丢失了,于是就出现A等待B的通知,B等待A发送数据的死锁状态,为了处理这种问题,TCP引入了持续计时器,当A收到B的零窗口通知时,就启用该计时器,时间到则发送一个字节的探测报文,对方会在此时回应自身的接收窗口大小,如原创 2017-02-09 09:27:02 · 2632 阅读 · 0 评论