• DNS(域名解析服务)
    DNS可以将字符串自动转化为具体的IP地址。

  • ARP(地址解析协议)

  • 以目标IP地址为线索,来定位下一个应该接收数据分包的网络设备对应的MAC地址。ARP只适用于IPv4.

  • 通过广播发送一个ARP请求包,其中含有想要了解MAC地址的IP。同一个链路中的主机接收并解析。如何发现需要解析的是自己的IP地址对应的MAC地址的话。就将自己的MAC地址加入ARP响应包中。然后把获取到的MAC地址与IP建立映射。然后缓存一段时间。

  • RARP

    • 从MAC地址获取IP地址的一种协议。
    • 为了解决一些嵌入式设备无法通过DHCP获得自己的IP地址的问题。所以需要建立一个RARP服务器。
    • AygKb9.png
  • NAT技术

    • 是在本地网络中使用私有地址,在连接互联网式转而使用全局IP地址的技术。
    • 内部有一张进行转换的地址的表。
    • NAPT为了解决私有网络内部多台机器同时通信时,可能会造成全局IP地址不够用。NAPT采用将端口号一起转换的方式来解决这个问题。
    • A6ZEFS.png
    • 无法从NAT外部向内部服务器建立连接。
    • 转换表的生成和转换操作都会产生一定的开销。
    • 通信过程中如果NAT遇到异常所有的TCP连接都会被重置。即使做了容灾备份也无法避免TCP连接的重置。
  • IP隧道
    为了解决IPv6数据包在IPv4网络中传递的问题。可以采用IP隧道的原理,将整个IPv6数据包作为数据体,并加上Ipv4的首部。就可以在IPv4的网络中传递Ipv6的数据包了。

  • TCP协议

    • 是面向连接的,可靠的流协议。是传输层协议。
    • 为了提供可靠的传输,实行“顺序控制”或“重发控制”,‘流量控制’、‘拥塞控制’、提高网络的利用率。
  • UDP协议

    • UDP是具有不可靠性的数据包协议。不能保证消息一定会到达。
  • 端口号
    端口号用来识别同一台计算机中进行通信的不同应用程序。因此也被称为程序地址。

TCP/IP或UDP/IP通常采用 源IP地址,目标IP地址,协议号,源端口号,目标端口号来标识一个通信。

  • UDP

    • UDP协议不提供复杂的控制机制。利用IP提供不可靠的无连接的通信。它在收到数据后,立刻发送。UDP协议不会进行流量控制和重发,包到达的顺序也无法保证。
    • UDP协议简单又高效。多用于实时性的,数据准确性要求不高的网络通信。
  • TCP协议

    • 它是一种面向连接的可靠的传输层协议。它可以流量控制,重发控制,顺序控制等。
    • 它通过检验和,序列号,确认应答,重发控制,连接管理以及窗口控制等来实现可靠性传输。
    • 通过序列号与确认应答提高可靠性Ac7X8g.png 确认是ACK,否认是NACKAcHkPU.png AcHmrR.png
    • 通过序列号与确认应答号。应答号就是自己下一步需要接收的数据的序列号AcHddP.png
    • 重发超时的时间计算。每次发包时都会计算往返时间及其偏差。将往返时间和偏差相加结果略大的值就是重发超时的值。
    • TCP连接管理。在通信进行前要先建立连接,在通信结束时会进行断开连接。AcbLcQ.md.png
    • TCP以段为单位发送数据,在TCP三次握手的同时会在确定“最大消息长度”(MSS),理想状态下为不会被IP协议分片的最大数据长度。
    • 利用窗口控制提高速度。Acqruj.md.png]。窗口大小就是指无需等待确认应答而可以继续发送数据的最大值。窗口大小是由接收端决定的。在使用窗口控制后,有少部分ACK消息丢失也不会重发,因为下一个ACK成功发送,就确认了上一个数据是收到了的。
    • 流控制。在数据接收中,接收端会根据网络状况,和自身处理能力的情况,发送端会不时的向接收端发送窗口探测,请求接收端更新窗口大小。AcOFm9.md.png
    • 拥塞控制。TCP采用慢启动的方式。AcONp8.md.png