TCP/IP协议族分层
协议族的分层抽象,一定意义上来说,每层敬职敬责的做自己的工作,同时也共同完成通讯协议的共同目标。
这是一个垂直划分的抽象层次,挺有意义。
1、链路层/数据链路层/网络接口层
操作系统中的设备驱动程序和计算机的网络接口卡,负责处理与网络电缆或其他媒介的物理接口细节。该层协议主要包括ARP、RARP。
2、网络层
处理分组在网络中的活动,如分组的选路;该层协议包括IP协议,ICMP协议,IGMP协议。
3、运输层
主要为在两台主机上的应用程序提供端到端的通信。主要包括TCP协议、UDP协议。
4、应用层
特定的应用程序细节。如Telnet、FTP、SMTP、SNMP等。
应用层和运输层使用端到端的协议,网络层提供的却使逐跳协议(Hop-by-Hop)。
网络层提供的是不可靠的服务,只是尽可能快的把分组从源节点送到目的节点。
TCP为了提供可靠的服务,采用了超时重传、发送和接受端到端的确认分组机制。
从上层到下层,每层对数据进行封装,添加相应层协议的首部或首部+尾部,而从下层到上层,逐步去掉首部或首部+尾部。
以太网层:14字节首部 + 4字节尾部,称为帧,帧最大长度:64~1518
IP首部:20字节
TCP首部:20字节。
UDP首部:8字节
因此一个tcp的以太网帧有:20+20+14+4=58字节是与真实信息无关的。
IP首部:8bit协议域,1:ICMP,2:IGMP,6:TCP,17:UDP
TCP和UDP:使用16bit的端口号表示不同的应用程序(源端口号和目的端口号)。
TCP协议的端口号说明:
1~1024是系统或知名端口号,被IANA所管理,1024~65535的端口号都可以作为服务端口号,server端的端口号需要一直运行直到关闭;
客户端用于连接server的端口号,称为临时端口号,临时端口号通用分配:1024~5000,>5000是Linux预留的。
端口号可以查看文件:/etc/services查看。
以太网帧首部:16bit的帧类型域。

不太懂链路层的东东,知道CSMA/CD的存在,但也不知道为什么如果是10G的全双工就不用了,why。
TCP/IP协议族分层的更多相关文章
- 第12章 网络基础(1)_网络分层和TCP/IP协议族
1. 协议的概念 (1)计算机网络中实现通信必须有一些约定.如对速率.传输代码.代码结构.传输控制步骤和出错控制等约定,这些约定即被称为通信协议 (2)在两个节点之间要成功地进行通信,两个节点之间必须 ...
- Android网络编程系列 一 TCP/IP协议族
在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...
- TCP/IP协议族(一) HTTP简介、请求方法与响应状态码
接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单 ...
- TCP/IP 协议族的简介
TCP/IP重要的特性就是分层.TCP/IP 按照层次分为四层:应用层.传输层.网络层.数据链路层.分层的好处就是当某些地方需要改变的时候,只需要将改变的层替换掉即可,而不用去把整体做替换.各层之间的 ...
- OSI模型和TCP/IP协议族(一)
1990年以前,再数据通信和组网文献中占主导地位的分层模型是开放系统互连(Open System Interconnnection,OSI)模型.当时所有人都认为OSI模型将是数据通信的最终标准,然而 ...
- OSI模型和TCP/IP协议族(三)
TCP/IP协议族 TCP/IP协议族的开发要比OSI模型更早,因此TCP/IP协议族的分层结构无法准确地与OSI模型一一对应.原始的TCP/IP协议族定义为建立再硬件基础上的四个软件层,不通过目前T ...
- <TCP/IP原理> (二) OSI模型和TCP/IP协议族
1.OSI参考模型 1)作用 2)各层的名称和功能 2.对分层网络协议体系的理解 1)不同节点:层次组成不同,作用不同 2)横向理解:虚通信.对等实体.协议.PDU 3)纵向理解:封装与解封.服务.接 ...
- TCP/IP协议簇分层详解---转
http://blog.csdn.net/hankscpp/article/details/8611229 一. TCP/IP 和 ISO/OSI ISO/OSI模型,即开放式通信系统互联参考模型(O ...
- 网络基础篇(一)--TCP/IP协议族
TCP/IP协议族是一个分层,多协议通信体系. 1 TCP/IP协议族体系结构 TCP/IP协议族自底而上分为四层: 数据链路层, 网络层, 传输层和应用层. 1.1 数据链路层 实现网卡接口的网络驱 ...
随机推荐
- Egit的merge合并冲突具体解决方法
稍微总结下弄了半个下午的egit的merge合并冲突解决方法,网上看的都是一个模板出来的,看的糊里糊涂,花了很多时间去实验整个合并流程.. 前提工作 创建一个普通JAVA工程Test,创建一个类Tes ...
- java并发:读写锁ReadWriteLock
在没有写操作的时候,两个线程同时读一个资源没有任何问题,允许多个线程同时读取共享资源. 但是如果有一个线程想去写这些共享资源,就不应该再有其它线程对该资源进行读或写. 简单来说,多个线程同时操作同一资 ...
- 数字与字符串之间的转换以及%f与%lf的输入输出用法区别
1.C++字符串与C字符串的转换: (1)string --> char * string str("OK"); strcpy(p,str.c_str());//p是char ...
- unity3d-ngui UIScrollView 滚动方向与滚轮相反
生成一个滚动面板之后发现滚轮向上滚,界面向下:滚轮向下界面向上.在编辑窗口里发现这个选项 本来是-2,修改成正数就可以了. http://ju.outofmemory.cn/entry/146754
- Super Star(最小球覆盖)
Super Star http://poj.org/problem?id=2069 Time Limit: 1000MS Memory Limit: 65536K Total Submission ...
- Maven项目整合Struts2框架
-------------------------siwuxie095 Maven 项目整合 Struts2 框架 1. ...
- css学习-css引入&css选择
一.引入css的方式,一共有4种,我们只需要掌握三种就可以了,@import的方法我们不做掌握 1.第一种引入的方法 <!--1.第一种引入css的方法--> <h1 style=& ...
- python之字典【dict】
#Auther Bob#--*--conding:utf-8 --*-- #创建一个字典dictdic1 = {'k1':'v1','k2':'v2'}dic2 = dict(k1='v1',k2=' ...
- 查找ipa包,删除接的ipa包
- UI设计必用工具 — AI快捷键大全
01 常用工具 V 选择工具 A 直接选择工具 Y 魔棒工具 Q 套索工具 P 钢笔工具 Z 缩放工具 R 旋转工具 O 镜像工具 M 矩形工具 L 椭圆工具 B 画笔工具 N 铅笔工具 C 剪刀工具 ...