网络是怎样连接的:用电信号传输TCP/IP数据
1.表示网络包收件人的接收方IP地址是位于IP头部还是TCP头部中呢?
IP头部
IP模块接受TCP模块的委托负责包的收发工作,它会生成IP头部并附加在TCP头部前面。IP头部包含的内容如表所示,其中最重要的内容就是IP地址,它表示这个包应该发到哪里去。这个地址是由TCP模块告知的,而TCP又是在执行连接操作时从应用程序那里获得这个地址的,因此这个地址的最初来源就是应用程序。
IP头部格式
2.端口号用来指定服务器程序的种类,那么它位于TCP头部还是IP头部中呢?
TCP头部
连接操作的第一步是在TCP模块处创建表示连接控制信息的头部。
通过TCP头部中的发送方和接收方端口号可以找到要连接的套接字。
3.会对包是否正确送达进行确认的是TCP还是IP呢?
TCP
4.根据IP地址查询MAC地址的机制叫什么?
ARP
在以太网中,有一种叫作广播的方法,可以把包发给连接在同一以太网中的所有设备。ARP就是利用广播对所有设备提问:“××这个IP地址是谁的?请把你的MAC地址告诉我。”然后就会有人回答:“这个IP地址是我的,我的MAC地址是××××。”
5.在收到ACK号之前继续发送下一个包的方式叫什么?
滑动窗口方式
每发送一个包就等待一个ACK号的方式是最简单也最容易理解的,但在等待ACK号的这段时间中,如果什么都不做那实在太浪费了。为了减少这样的浪费,TCP采用滑动窗口方式来管理数据发送和ACK号的操作。所谓滑动窗口,就是在发送一个包之后,不等待ACK号返回,而是直接发送后续的一系列包。这样一来,等待ACK号的这段时间就被有效利用起来了。