TCP/IP协议(详解)

一.TCP/IP协议

        1.定义

        TCP/IP协议是互联网通信的核心标准,通过分层设计将数据的封装、寻址、传输、和路由流程统一规范,核心目的就是让不同的网络设备可以可互联互通

        TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议族, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

        通俗易懂来讲就是你在某宝买了一个东西,打包成快递最后送到你家上的流程

 

二.OSI七层模型、TCP/IP四层模型(协议框架)

        

两者区别:

  • OSI模型(Open Systems Interconnection)

    • 理论模型:由国际标准化组织(ISO)提出,目标是统一全球网络标准,强调严格的层次划分和协议规范。
    • 学术导向:追求理论完整性,但实际应用较少。
  • TCP/IP模型

    • 实践驱动:起源于互联网早期(如ARPANET),基于实际需求(如跨异构网络通信)发展而来。
    • 实用优先:简化分层,直接服务于现实中的互联网。

1.工作原理

发送方(又高到底逐层封装发送):

  1. 应用层(第7层)

    • 生成原始数据(如HTTP请求、邮件内容)。
    • 示例:用户发送邮件时输入“Hello, World!”。
  2. 表示层(第6层)

    • 数据加密、压缩、编码转换。
    • 示例:将文本转为UTF-8编码,并启用TLS加密。
  3. 会话层(第5层)

    • 管理会话(如建立/维持连接)。
    • 示例:为邮件会话分配唯一ID,跟踪通信状态。
  4. 传输层(第4层)

    • 分割数据为段(Segment),添加端口号和序列号。
    • 示例:TCP协议将数据分段,附加源端口(如1024)和目标端口(如SMTP的25)。
  5. 网络层(第3层)

    • 添加IP地址,封装为包(Packet)
    • 示例:附加源IP(192.168.1.2)和目标IP(邮件服务器的IP)。
  6. 数据链路层(第2层)

    • 添加MAC地址,封装为帧(Frame),附加帧头和帧尾(如FCS校验)。
    • 示例:源MAC(00:1A:2B:3C:4D:5E)和目标MAC(路由器MAC)。
  7. 物理层(第1层)

    • 转为比特流(0/1信号),通过物理介质传输。
    • 示例:网卡将帧转化为电信号或光信号发送。

 接收方(由低到高逐层解封):

  1. 物理层

           - 将电信号/光信号还原为比特流。
  2. 数据链路层

           - 校验帧完整性(通过FCS),剥离MAC地址头部。
  3. 网络层

           -  检查IP地址,决定是否接收或转发。
  4. 传输层

            - 按序列号重组数据段,确保顺序正确(TCP协议)。
  5. 会话层

            - 根据会话ID恢复通信上下文。
  6. 表示层

           -  解密数据、解压缩或转换编码格式。
  7. 应用层

          -   将原始数据传递给用户程序(如邮箱客户端显示邮件内容)。

 

2.OSI七层结构模型

理论:

层级名称定义与核心作用典型协议/技术通俗比喻
7. 应用层用户交互接口直接为应用程序提供网络服务(如网页、邮件)。HTTP、FTP、SMTP用户使用的“手机APP”
6. 表示层数据翻译官处理数据格式(加密、压缩、编码转换)。TLS/SSL、JPEG、ASCII翻译外文为母语的“翻译器”
5. 会话层会话管理者建立、维护和终止会话连接(如保持登录状态)。NetBIOS、RPC电话通话的“接线员”
4. 传输层端到端传输管家确保数据可靠传输(分段、重组、流量控制)。TCP(可靠)、UDP(快速)物流公司的“全程跟单员”
3. 网络层跨网络导航员通过IP地址实现跨网络寻址和路由选择。IP、ICMP、BGP快递的“全国分拣中心”
2. 数据链路层局域网快递员管理同一局域网内设备通信(MAC地址寻址、帧校验)。以太网、Wi-Fi、ARP小区内的“快递柜”
1. 物理层信号搬运工传输原始比特流(电信号、光信号、无线电波)。网线、光纤、Wi-Fi射频公路和卡车等“运输工具”

 实操:

1. 应用层(第7层)

作业:使用curl命令访问一个HTTP网站(如https://blog.csdn.net/2502_91292282?type=blog),观察返回的网页内容。这里用Win+R输入CMD或者Powershell命令工具都行

Bash

curl https://blog.csdn.net/2502_91292282?type=blog

解析:应用层直接面向用户,curl模拟浏览器发送HTTP请求,获取网页内容。 答案:命令会返回HTML代码,显示网页的原始内容。

 

2. 表示层(第6层)

作业:用OpenSSL工具加密一段文本(如Hello),生成Base64编码。

Bash

echo "Hello" | openssl enc -base64

解析:表示层处理数据格式转换,Base64是常见编码方式。 答案:输出类似SGVsbG8K,解码后可还原为Hello

 

3. 会话层(第5层)

作业:通过netstatss命令查看当前系统的TCP会话。

Bash

netstat -ant | grep ESTABLISHED # Linux

ss -t state established # Linux

Powershell

Get-NetTCPConnection -State Established # Windows

解析:会话层管理连接状态,命令显示已建立的TCP会话(如SSH、浏览器连接)。 答案:输出包含IP地址和端口号,如192.168.1.2:443表示与服务器的HTTPS连接。

拓展:powershell命令工具中nsuplookup命令可以将域名转ip,或者ip转域名

例如:

 

4. 传输层(第4层)

作业:使用nc(netcat)工具测试端口连通性。

Bash

nc -zv www.google.com 80

解析:传输层负责端到端通信,测试目标端口(如80)是否开放。 答案:若显示succeeded!表示端口可达,否则可能被防火墙拦截。

 

5. 网络层(第3层)

作业:用pingtraceroute(或tracert)命令追踪到目标IP的路由路径。

Bash

ping 8.8.8.8 traceroute 8.8.8.8 # Linux

Powershell

Test-Connection 8.8.8.8 # Windows(等效ping) tracert 8.8.8.8 # Windows

解析:网络层通过IP地址跨网络寻址,traceroute显示数据包经过的路由节点。 答案:输出显示每跳(hop)的IP和延迟,最终到达目标IP。

 

6. 数据链路层(第2层)

作业:使用arp -a命令查看本地ARP缓存表(IP与MAC地址映射)。

Bash

arp -a # Linux/Windows通用

解析:数据链路层依赖MAC地址通信,ARP协议解析局域网内设备的MAC地址。 答案:输出类似192.168.1.1 at 00:1a:2b:3c:4d:5e,显示本地设备的MAC地址表。

 

7. 物理层(第1层)

作业:查看网卡物理连接状态(如是否插网线、Wi-Fi信号强度)。

Bash

ethtool eth0 # Linux查看有线网卡状态 iwconfig # Linux查看无线网卡信号

Powershell

Get-NetAdapter | Select-Object Name, Status, LinkSpeed # Windows

解析:物理层处理硬件信号,命令显示网卡是否连通及传输速率。 答案:若Link detected: yes(Linux)或Status: Up(Windows)表示物理连接正常。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值