计算机网络 TCP/IP模型
文章目录
- IP地址
- 定义、分类、组成
- MAC地址
- 端口号
- 网络协议
- OSI模型和TCP/IP协议族体系
- 数据链路层
- 常用协议
- ARP协议
- RARP协议(Reverse Assress Resolve Protocol,逆地址解析协议)
- 网络层
- 核心协议
- 传输层
- 常用协议
- TCP、UDP
- 应用层
- 封装
- socket和TCP\IP协议族关系
- socket API提供的功能
网络
网络设备有:交换机,路由器,集线器
传输介质有:双绞线,同轴电缆,光纤
IP地址
定义、分类、组成
定义
IP地址是给因特网上每个主机的每一个接口分配的一个在全世界范围内唯一的标识符
分类
- IPV4:32位,用"."分成四个段,每段8位,用10进制表示
例:“192.168.31.1” - IPV6:128位,每段16位,用4个16进制数表示
例:“2001:0db8:3c4d:00015:0000:0000:1a2f:1a2b”
组成
网络号+主机号
同一个网络中的主机网络号相同,主机号不同。
A类 | 0.0.0.0~127.255.255.255 |
B类 | 128.0.0.0~191.255.255.255 |
C类 | 192.0.0.0~223.255.255.255 |
linux中查看ip地址:命令“ifconfig”
MAC地址
硬件地址又称物理地址或MAC地址,长度48位,存储在ROM中。
端口号
- 端口范围
0~1023:知名端口号
1024~65535:操作系统动态分配的端口号 - 知名端口号
- ssh服务器:22端口
- ftp服务器:21端口
- telnet服务器:23端口
- http服务器:80端口
- https服务器:443端口
网络协议
名称 | 含义 | ||
---|---|---|---|
HTTP | 超文本传输协议 | 80 端口 | |
FTP | 文本传输协议 | 21 端口 | |
TELNET | internet远程登录服务的协议 | 23端口 | |
TCP | 传输控制协议 | 面向连接,可靠的,基于字节流的 | |
UDP | 用户数据报协议 | 无连接,不可靠 | |
IP | 网际协议(互联网协议) | ||
ICMP | 因特网控制报文协议 | ||
ARP | 地址解析协议 | 根据IP地址得到MAC地址 | |
RARP | 逆地址解析协议 |
OSI模型和TCP/IP协议族体系
数据链路层
常用协议
实现了IP地址和机器物理地址(MAC地址)之间的相互转换
ARP协议
- ARP协议(Assress Resolve Protocol,地址解析协议):网络层使用IP地址寻址,而数据链路层使用物理地址寻址,因此必须要将机器的IP地址转化为其物理地址,才能使用数据链路层提供的服务
工作原理
主机向自己所在的网络广播一个ARP请求,该请求包含目标机器的网络地址,此网络上的其他机器都将收到这个请求,但只有被请求的目标机器会回应一个ARP应答,其中包含自己的物理地址<\u>ARP高速缓存
高速缓存中包含经常访问或最近访问的机器的IP地址到物理地址的映射,避免了重复的ARP请求,提高了发送数据包的速度
RARP协议(Reverse Assress Resolve Protocol,逆地址解析协议)
- 传输单元: 帧:frame
- 主要功能
- 通过各种控制协议,将有差错的物理信道变为无差错的,能可靠传输数据帧的数据链路。
- 封装成帧;透明传输;差错检验
- 通常由被分成介质访问控制(MAC) 和逻辑链路控制(LLC) 子层
- MAC子层:解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制
- LLC子层:建立和维护网络连接,执行差错校验,流量控制和链路控制
- 基本问题: 封装成帧 透明传输 差错检测
网络层
- 功能: 实现数据包的选路和转发
- 传输单元: IP数据包:IP packet
核心协议
- IP协议: Internet Protocol 因特网协议
- 工作流程:根据数据包的目的IP地址来决定如何投递它,如果数据包不能直接发送给目标主机,那么IP协议就是为他寻找合适的下一跳路由器,并将数据包交付给该路由器来转发,多次重复过程,数据包最终到达目的主机,或者由于发送失败而被丢弃
- ICMP协议(Internet Control Message Protocol,因特网控制报文协议):用于监测网络连接
传输层
- 功能: 为两台主机上的应用程序提供端对端的通信
常用协议
TCP、UDP
- TCP协议(Transmission Control Protocol,传输控制协议)
- 为应用层提供可靠的面向连接的
- 使用超时重传、数据确认等方式确保数据包正确发送,所以TCP服务是可靠的
- 通信双方必须先建立连接
- **基于流(Stream)**的服务,数据没有边界长度限制
- UDP协议(User Datagram Protocol,用户数据报协议)
- 为应用层提供不可靠:无法保证数据从发送端正确传输到接收端<\u>
- 无连接:通信双方不保持一个长久的联系,每次发送数据都要明确指定接收端的地址<\u>
- 基于数据报的服务:每个UDP数据报都有一个长度,接收端必须以该长度为最小单位将其内容一次性读出,否则数据将被截断<\u>
- SCTP协议(Stream Control Transmission Protocol,流控制传输协议)
应用层
- ping应用程序:利用ICMP报文检测网络连接,是调试网络环境的必备工具
- Telnet协议(远程登录协议):在本地完成远程任务
- OSPF(Open Shortest Path First,开放最短路径优先):动态路由更新协议,用于路由器之间的通信
- DNS(Domain Name Service,域名服务):机器域名到IP地址的转换,对应的端口号是53
封装
上层协议通过封装来使用下层协议提供的服务,每层协议都将上层数据的基础上加上自己的头部信息,来实现该层的功能
socket和TCP\IP协议族关系
数据链路层、网络层、传输层协议是在内核中实现的,因此操作系统需要一组系统调用,使得应用程序能够访问这些协议提供的服务,通过socket可以实现这组系统调用。
socket API提供的功能
- 将应用程序数据从用户缓冲区中复制到TCP/UDP内核发送缓冲区,以交付内核来发送数据;或从内核TCP/UDP接收缓冲区中复制数据到用户缓冲区,以读取数据
- 应用程序可以通过它们来修改内核中各层协议的某些头部信息或其他数据结构,从而精细控制底层通信的行为
计算机网络 TCP/IP模型相关推荐
- 【计算机网络】TCP/IP 模型与OSI参考模型的比较
文章目录 共同点 不同点 使用通信协议栈进行通信的结点的数据传输过程 共同点 采取分层的体系结构 将庞大且复杂的问题划分为若干较容易处理的.范围较小的问题,而且分层的功能也大体相似 基于独立的协议栈的 ...
- 计算机网络中对等层,【计算机网络】两个网络模型——OSI参考模型和TCP/IP模型...
计算机网络 两个网络模型 计算机网络模型 分层机制----规划通讯细节 层与层之间之间是独立的.屏蔽的,下层为上层提供服务. 一些概念 实体: 任何发送/接收信息的软件/硬件进程. 对等层: 两个不同 ...
- 计算机网络中的OSI模型和TCP/IP模型
在计算机网络工程中,我们总听过有几层几层的,有的说七层,有的说五层.其实就算我们不清楚每层是什么,也应该听过有分什么应用层.物理层啊啥的.本篇就详细的讲述一下,关于计算机网络的这些所谓的层都是怎么来的 ...
- 计算机网络入门之TCP/IP模型
计算机网络入门:computer internet 一.基础概念 1.计算机网络:实现资源共享.信息传递 2.www:万维网 world wide web 3.web:网页.网站 4.协议:proto ...
- 计算机网络层次结构之OSI模型和TCP/IP模型
计算机网络 计算机网络结构是计算机专业的必修课程,计算机网络是严格的围绕着网络架构进行阐述的.计算机网络是值一个具有自治的.具有独立的计算机系统结构称之为计算机网络. 计算机网络具有以下特点: 1.数 ...
- 【计算机网络】TCP/IP模型
文章目录 网络接口层 网际层 传输层 应用层 TCP/IP模型从低到高依次为网络接口层(对应OSI参考模型中的物理层和数据链路层). 网际层. 传输层和 应用层(对应OSI参考模型中的会话层,表示层和 ...
- 计算机网络--TCP/IP四层模型
TCP/IP四层模型 在了解TCP/IP四层模型前,我们先来了解一下OSI七层结构. OSI七层模型 虽然OSI七层模型划分的很完美,但是在实际应用当中有一些层的工作是重复的,所以出现了更贴近实际的T ...
- 详解OSI七层模型和TCP/IP模型
详解OSI七层模型 1. 详解OSI七层模型 1.1 详解每层结构 1.2 交换机和路由器的区别 1.3 集线器与路由器在功能上有什么不同 2. 详解TCP/IP模型 2.1 详解每层结构 2.2 O ...
- 玩转5G之--初探5G网络模型(OSI模型和TCP/IP模型)
目录 前言: 1.计算机网络: 2.分层思想: 3.OSI七层参考模型: 4.TCP/IP的四层.五层模型与OSI七层模型的对应关系: 5.端到端和点到点的区别? 6.数据封装与解封的过程与TCP/I ...
最新文章
- 小程序客服消息推送自动回复_如何让小程序客服消息根据用户输入关键词自动回复图片?...
- JAVA实现长连接(含心跳检测)Demo
- 7000p可以加装固态吗_玩车十年的大神都加装防倾杆,但真的可以提高车身刚性吗?...
- C#函数式程序设计之惰性列表工具——迭代器
- 使用Python解压zip、rar文件
- ITK:提取二进制图像中斑点的内部和外部边界
- 标准 I/O (带缓冲)
- loading gif 透明_搞笑GIF:有这样的女朋友下班哪里都不想去
- Codewars-The wheat/rice and chessboard problem(棋盘放谷粒)
- Codeforces 439C Devu and Partitioning of the Array(模拟)
- 下面列出LoadRunner的性能测试流程
- bin、hex、elf、axf文件的区别
- Windows权限维持1:账号隐藏
- Day296.原子类 -Juc
- Java字节简单介绍
- 做前端的:你有没有觉得很吃力?
- AWS【亚马逊云】的EC2以及VPC网络框架介绍
- HUAWEI华为MateBook 13 2020款 锐龙版 R7 集显 触屏 16GB+512GB (HNL-WFP9Q)原装出厂系统恢复原厂系统
- 【Python-Keras】keras.layers.BatchNormalization解析与使用
- PDO中错误处理:errorCode方法和errorInfo方法