网络编程知识点

网络编程

两台主机的进程实现通信的方式

同一台主机中的实现进程间通信的方式有很多,比如管道、信号、消息队列、信号量集、共享内存等,如果现在需要两台主机间的进程实现数据传输,则想要用到套接字文件(socket)的,它的作用则是用于实现不同主机中的进程间通信的。

IP协议

1.IP地址格式为:高阶位、网络编号、本地地址组成。

2.端口号->查找进程任务

IP地址->查找主机

子网掩码->查找所在主机网络

3.IP协议中把网络地址主要分为三类,分别是A类地址(*0*. ~ *127*. )、B类地址(*128*.0 ~ *191*.255)、C类地址(*192*.0.0 ~ *223*.255.255)。其实对于IP地址而言,还存在D类地址和E类地址,只不过这两类地址不用于标识主机,因为这两类地址没有分配本地地址,也就是这两类地址的32bit全部分配给网络编号。

image

image

image

image

image

网络模型的结构

image

  1. 物理层(提供数据传输需要的介质)

    常见的物理层相关的硬件设备一般包含集线器、中继器等。对物理层而言,数据的单位是比特(bit)。

  2. 数据链路层(在物理层所提供服务的基础上,向网络层提供各种协议)

    (1)常见的数据链路层相关的硬件设备一般包含交换机、网桥等,交换机和网桥都是通过网卡设备的MAC地址进行帧的发送/接收。数据链路层中把数据块称为帧(Frame),对数据链路层而言,单位是数据帧。数据链路层除了点对点协议(PPP协议)之外,还存在其他协议,比如以太网协议等。

    (2)最大传输单元(Maximum Transmission Unit,MTU)为了防止数据帧在不同协议中的数据帧过大,对数据帧的大小做出约束,就提出最大传输单元的概念,MTU以字节为单位。

  3. 网络层(理解数据链路层中存在的不同协议,从而向传输层提供最基本的端到端的数据传送服务)

    (1)和网络层相关的硬件设备就是路由器,它能够理解不同的协议,比如某个局域网使用的以太网协议,或者因特网中使用的TCP/IP协议

    (2)IP协议是以数据块的形式把信息从源主机传输到目标主机,而源主机和目标主机都是通过*固定长度的地址(IP地址)*来进行区分。IP协议中把这种数据块称为*数据报(IP Datagram)*,数据报报首包含了协议版本、报首长度等相关信息。

  4. 传输层(收到网络层发过来的数据包,决定发给哪个进程)

    (1)传输层中最为常见的两个协议分别是传输控制协议TCPfromModule=lemma_inlink)(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol),其中UDP协议属于不可靠协议,TCP协议属于可靠协议

  5. 会话层(会话层是在发送方和接收方之间进行通信时创建、维持、之后终止或断开连接的地方)

  6. 表示层(表示层从应用层接受数据,将这些字符和数据转换成机器能够理解的二进制数据,这个功能称为“翻译”功能)

  7. 应用层(为应用进程提供服务)

posted @ 2024-06-10 01:34  luxiaolim  阅读(32)  评论(0)    收藏  举报