计算机网络

TCP/IP四层模型: 将OSI(open systems interconnection model)的七层模型合并为四层

  • 网络接口层 : 负责数据的物理传输
  • 互联网层 : 负责路由的选择,,使用的协议是IP (internet protocol)
  • 传输层: 端到端的通信,,使用的协议是TCP,或者UDP
  • 应用层: 负责处理具体的应用请求,,如HTTP,FTP,DNS等

传输层提供了一系列 socket api,,应用实在建立了有效的socket之后,在socket之上,收和发,,

tcp的socket建立:

  • 建立一个welcome socket
  • 调用bind()方法,将 welcome sokcet和本地的ip,端口绑定
  • 绑定ip和端口,是为了监听客户端是否需要建立连接,,等待客户端建立连接
  • 建立连接之后会产生一个 client socket用来数据交互

网络层提供的服务可能 丢失,乱序,延迟,出错,,传输层向上提供的服务可以是tcp可靠的服务,,tcp上面有ssl,可以加强他的安全性


tcp的传输:

  • tcp协议会将要传输的数据分段(segment),segment的头部会携带端口,,封装之后,交给下层网络层,网络层是主机到主机,,会在头部拼接上ip地址

UDP: user datagram protocol

  • 进程到进程,,尽力而为,报文可能丢失,可能乱序,两个进程之间不需要握手,,常用于 实时流媒体,,或者是 一次往返搞定的应用(因为建立连接麻烦)
  • udp不用握手,头部比较小(8个字节的头部),,,但是不可靠,,如果需要可靠的服务,,只能在应用层自己写

UDP传输数据校验:

  • 发送方:
    1. 将数据(数据+头部+为头部) 按照16位分组,,进行二进制加法,,并执行进位回滚,,
    2. 这个进位回滚的值,,取反码,,,
    3. 将这个反码作为 校验和,,填入udp报头的校验和字段,然后发送整个数据包
  • 接收方:
    1. 将收到的所有内容(包括伪头部,udp头部,数据,以及发送方填好的校验和字段),按照16位分组,,
    2. 将这些所有分组进行二进制加法,,(接收方会将所有字段加在一起,,并且加法的过程是按反码加法进行的,,所以只需要加起来判断是否是全1就行),,,接收方的加法操作是反码加法,这意味这他在加法过程中会遵循反码加法规则,也就是说结果超出了16位,他会把高位丢掉,,加到低位
    3. 如果全1,表示数据传输无误,,如果不全1,,说明数据在传输过程中出现错误

发送方和接收方使用的都是 反码加法 : 他们都会把高位丢掉,补到低位,,所以接收方直接求和,,如果是全1,,数据就是正确的


名词

  • welcome sokcet : 用于等待客户端的连接请求,负责监听和接收客户端连接

  • client socket : 与客户端建立连接之后的套接字,用于和客户端进行通讯,,与客户端进行数据交换

  • 复用: 复用是 "发送数据" 的过程,,他将来自不同应用的数据汇集起来,,通过同一个网络接口(网卡)发送出去

  • 解复用: 解复用是 "接收数据" 的过程,,他将来自网络的一条物理链路上传输的混合数据包,,正确的分发到对应的 socket上,,因为在tcp协议上,,操作系统使用源ip,源端口号,目标ip,目标端口这四个组成的四元组,,作为一个唯一的标识符,可以通过这个找到对应的进程,将数据发送给进程

  • 进位回滚:

  • 校验和: 一种简单的错误检测机制,,可以进行数据完整性检查,,但也可能出现巧合的错误

  • 反码加法 : 是一种特殊的加法方式,他的特点是进位回滚,将进位部分丢弃,并加回到低位

相关推荐
CS创新实验室8 小时前
《计算机网络深入学》:“互联网”与“互连网”
计算机网络·408·计算机考研
小虎卫远程打卡app9 小时前
光通信与视频编码前沿技术综述:从超大容量传输到实时神经网络编码
运维·网络·信息与通信·视频编解码
%小农10 小时前
在cursor中使用server
网络·网络协议·http
ivy1598683771511 小时前
芯锦科技 HP9117 多协议USB Type-A快充识别芯片
网络·科技·网络协议·5g·信号处理·p2p
西红市杰出青年12 小时前
MCP 的三种数据传输模式教程(stdio / SSE / Streamable HTTP)
网络·网络协议·http·ai
Filotimo_12 小时前
内网穿透概念
网络
minji...13 小时前
Linux 进程间通信(三)命名管道
linux·服务器·网络
kongba00714 小时前
OpenClaw v2026.3.23 安全配置复盘:从多处明文到集中受控存储《OpenClaw 安全部署 SOP(v2026.3.23)V2》
服务器·网络·安全
郭涤生15 小时前
CANopen 基础复习
服务器·网络·c++
normanhere15 小时前
H3C无线调优案例
网络