协议族的分层抽象,一定意义上来说,每层敬职敬责的做自己的工作,同时也共同完成通讯协议的共同目标。

这是一个垂直划分的抽象层次,挺有意义。

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的帧类型域。

1、媒体共享技术:
静态划分信道
频分复用
时分复用
波分复用
码分复用
动态媒体接入控制(多点接入)
随机接入
受控接入 ,如多点线路探询(polling),或轮询。   

不太懂链路层的东东,知道CSMA/CD的存在,但也不知道为什么如果是10G的全双工就不用了,why。

TCP/IP协议族分层的更多相关文章

  1. 第12章 网络基础(1)_网络分层和TCP/IP协议族

    1. 协议的概念 (1)计算机网络中实现通信必须有一些约定.如对速率.传输代码.代码结构.传输控制步骤和出错控制等约定,这些约定即被称为通信协议 (2)在两个节点之间要成功地进行通信,两个节点之间必须 ...

  2. Android网络编程系列 一 TCP/IP协议族

    在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...

  3. TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

    接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单 ...

  4. TCP/IP 协议族的简介

    TCP/IP重要的特性就是分层.TCP/IP 按照层次分为四层:应用层.传输层.网络层.数据链路层.分层的好处就是当某些地方需要改变的时候,只需要将改变的层替换掉即可,而不用去把整体做替换.各层之间的 ...

  5. OSI模型和TCP/IP协议族(一)

    1990年以前,再数据通信和组网文献中占主导地位的分层模型是开放系统互连(Open System Interconnnection,OSI)模型.当时所有人都认为OSI模型将是数据通信的最终标准,然而 ...

  6. OSI模型和TCP/IP协议族(三)

    TCP/IP协议族 TCP/IP协议族的开发要比OSI模型更早,因此TCP/IP协议族的分层结构无法准确地与OSI模型一一对应.原始的TCP/IP协议族定义为建立再硬件基础上的四个软件层,不通过目前T ...

  7. <TCP/IP原理> (二) OSI模型和TCP/IP协议族

    1.OSI参考模型 1)作用 2)各层的名称和功能 2.对分层网络协议体系的理解 1)不同节点:层次组成不同,作用不同 2)横向理解:虚通信.对等实体.协议.PDU 3)纵向理解:封装与解封.服务.接 ...

  8. TCP/IP协议簇分层详解---转

    http://blog.csdn.net/hankscpp/article/details/8611229 一. TCP/IP 和 ISO/OSI ISO/OSI模型,即开放式通信系统互联参考模型(O ...

  9. 网络基础篇(一)--TCP/IP协议族

    TCP/IP协议族是一个分层,多协议通信体系. 1 TCP/IP协议族体系结构 TCP/IP协议族自底而上分为四层: 数据链路层, 网络层, 传输层和应用层. 1.1 数据链路层 实现网卡接口的网络驱 ...

随机推荐

  1. AnimatorOverrideController

    [AnimatorOverrideController] 有N个角色,这N个角色的状态机一样,只是动画不一样.这时候,新建一个AnimatorController,设置状态机.然后为这N个角色建立N个 ...

  2. MongoDB服务无法启动,发生服务特定错误:100

    问题:MongoDB服务无法启动,发生服务特定错误:100 原因:没有正常关闭mongod服务,导致mongod被锁 解决方案:进入db文件夹,删除mongod.lock文件,然后重新启动服务即可

  3. My Goal For SE

    2016年2月份,我开始进入软件工程的学习.作为一名大三学生,我对于此项课程,希望我自己能够通过制定学习目标来学好它. 首先,当我们在执行软件开发的时候,我们应该明确每个人的负责模块,我们应该明确自己 ...

  4. C++的编译与连接

    编译器的任务是把我们人类通常能够读懂的文本形式的 C 语言文件转化成计算机能明白的目标文件.1.  预编译生成的仍然是.c文件1)把"include"的文件拷贝到要编译的源文件中. ...

  5. Tomb Raider(暴力模拟)

    Tomb Raider https://hihocoder.com/problemset/problem/1829?sid=1394836 时间限制:1000ms 单点时限:1000ms 内存限制:2 ...

  6. Leapin' Lizards(经典建图,最大流)

    Leapin' Lizards http://acm.hdu.edu.cn/showproblem.php?pid=2732 Time Limit: 2000/1000 MS (Java/Others ...

  7. 获取客户端真实IP地址

    Java-Web获取客户端真实IP: 发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP. 一般分为两种情况: ...

  8. 数据流滑动窗口平均值 · sliding window average from data stream

    [抄题]: 给出一串整数流和窗口大小,计算滑动窗口中所有整数的平均值. MovingAverage m = new MovingAverage(3); m.next(1) = 1 // 返回 1.00 ...

  9. struts框架总结

    1.struts2框架开发的过程:先导包,再写配置(写struts.xml配置,还有在web.xml中进行过滤器的配置,过滤器的配置一定不能少) 2.struts框架是前端web层的框架.主要的特点: ...

  10. MVC仓储执行存储过程报错“未提供该参数”

    今天做的时候出现错误: "过程或函数 'sp_ProcName' 需要参数 '@uid',但未提供该参数. 可是我参数都传了,然后调试也是一样,然后对照参数列表, 后来发现执行的时候还要加入 ...