一  DOD模型

传输控制协议IRI特网协议(TCP/IP)组是由美国国防部(DOD)所创建的,主要用来确保数据的完整性及在毁灭性战争中保持通信

是由一组不同功能的协议组合在一起的协议簇

利用一组协议完成OSI所实现的功能

二 DOD模型的协议

应用层:Telent(远程登陆协议,提供远程管理服务,端口23),FTP(文件传输协议,提供互联网文件资源共享服务,端口20,21),TFTP(简单文件传输协议,提供简单的文件传输服务,UDP协议,端口69),SNMP,HTTP,SMPT(简单邮件传输协议,提供互联网电子邮件服务,端口号25),POP3(邮局协议,提供互联网电子邮件服务),NFS,DHCP

主机到主机层:TCP,UDP

因特网层:负责将分组的报文从源端发到目的端

网络接入层:Ethernet,FastEth,TokenRing,FDDI

三 TCP/IP协议

TCP:传输控制协议,属于面向连接的网络协议,可靠传输,流控

使用的应用:Web浏览器,电子邮件,文件传输程序

3.1 TCP的报文结构

详细报文

3.2 UDP协议

用户报文协议,属于无连接的网络协议,不可靠传输,尽力传递

使用UDP的应用:域名系统DNS;视频流;IP语音(VoIP)

UDP头部

3.3 端口号

源端口随机分配,目标端口使用已知端口

应用客户端使用的源端口号一般为系统中未使用的且大于1023

目的端口号为服务器应用服务的进程.如telent为23

3.4 TCP的三次握手

加入两台主机进行连接,过程如下

1.A产生一个序列号,加入是100,带上这个序列号,向B发送一个SYN请求

2.B收到这个请求,如果确认连接,也会使用一个序列号seq,假如是300,就会带上自己的序列号的SYN请求,以及在对方序列号加一形成的ACK号确认发送给对方

3.A收到B的确认号和请求的seq连接后,也会发送一个ack确认号,连接建立

3.5 端口号的连接

3.6 窗口机制

窗口机制是一种可靠的机制,加入AB主机进行会话连接,发送数据包,一开始A发了三个数据包,这是B没有处理完成,把数据包3丢弃,同时发送ACK为3,同时发送自己希望发送的的包的大小是2,这时A就会知道B的处理能力,会每次发送2个大小为2的包,连接一直进行

3.7 因特网层机制

负责将分组的报文从源端发到目的端

协议:ICMP,ARP,RARP,IP

网络层的作用:

为数据中的设备提供逻辑地址

负责数据包的寻径和转发

IP报文

ARP协议:

将IPv4地址解析为MAC地址

维护映射的缓存

查询arp的方式:arp -a

最开始没有arp表,会先发送一个广播的请求报文,写有IP,但是MAC地址时所有地址,是一个广播帧,在局域网内都会收到这个广播,非对应IP,不会处理,对应的IP会回应一个回应报文,,就会把MAC地址缓存在ARP表中

arp的一个请求报文

回应报文

经过一系列arp请求,都会有自己的arp表,并维护

四  VLSM

可变长度的子网掩码

4.1 IP地址

IPv4,32位,点分十进制

路由器只关心网络部份

IP=网络部分+主机部分

通信类型:单播,广播,组播

IP地址类型:

IP=网络部分+主机部分

网络地址:指代网络的地址.在网络的IPv4地址范围内,最小地址保留为网络地址.此地址的主机部分的每个主机均为0.

广播地址:用于向网络中的所有主机发送数据的特殊地址.广播地址使用该网络范围内的最大地址.即主机部分的个比特位全部为1的地址

主机地址:分配给网络中终端设备的地址

4.2 划分子网

掩码的作用:划分网络位和主机位

向主机借位划分

4.3 私有地址

10.0.0.0 to 10.255.255.255(10.0.0.0/8)

172.16.0.0 to 172.31.255.255(172.16.0.0/12)

192.168.0.0 to 192.168.255.255(192.168.0.0/16)

参考连接

公开课视频:https://www.bilibili.com/video/av24400474/?p=3

网络知识02:TCP/IP概述的更多相关文章

  1. 【转载】[基础知识]【网络编程】TCP/IP

    转自http://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=27043 [基础知识][网络编程]TCP/IP iooops  胖友们楼主我又 ...

  2. 嵌入式linux的网络编程(1)--TCP/IP协议概述

    嵌入式linux的网络编程(1)--TCP/IP协议概述 1.OSI参考模型及TCP/IP参考模型 通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著 ...

  3. TCP/IP概述(网络互联与TCP/IP)

    TCP/IP概述(网络互联与TCP/IP) 用IP实现异构网络互联 从用户角度如何实现异构网络互联: 从用户角度看,实现异构网络互联的关键点就是使各种网络类型之间的差异对自己透明.在TCP/IP协议中 ...

  4. 网络编程之TCP/IP各层详解

    网络编程之TCP/IP各层详解 我们将应用层,表示层,会话层并作应用层,从TCP/IP五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议,就理解了整个物联网通信的原理. 首先,用户感知到的只 ...

  5. iOS网络协议 HTTP/TCP/IP浅析

    一.TCP/IP协议       话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样.一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通.两台电 ...

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

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

  7. 网络协议: TCP/IP 和UDP/IP

    网络协议: TCP/IP 和UDP/IP TCP/IP TCP/IP(Transmission Control Protocol/Internet Protocol)是一种可靠的网络数据传输控制协议. ...

  8. 2015-07学习总结——网络编程(TCP/IP)

    之前学习的主要内容是单机上的处理,比如编程语言.游戏编程.数据库.多媒体编解码.其实对网络也有些接触,比如WWW.HTTP.UDP/TCP.RTP.RTMP.SNMP.FTP.单播组播.Telnet. ...

  9. 【网络编程】TCP/IP、UDP、网络概…

    计算机刚刚发明出来的时候,两台计算机之间是无法通信的,为了使计算机之间能够进行数据的交流,制定了OSI(Open SystemInterconnection)开放系统互联模型,而TCP/IP(我们所使 ...

随机推荐

  1. UVa 679 【思维题】

    UVA 679 紫书P148例题. 题目大意:小球从一棵所有叶子深度相同的二叉树的顶点开始向下落,树开始所有节点都为0.若小球落到节点为0的则往左落,否则向右落.并且小球会改变它经过的节点,0变1,1 ...

  2. qt中绘制文字

    (1)颜色QPen (2) 字体QFont (3)位置与对齐 void CircleWidget::paintEvent(QPaintEvent *event) { QPainter painter( ...

  3. shell 解析json

    未完待续 ### 解析api json文件为csv文件 cd /api ` do id=$(echo ${i}|sed 's/.html//') echo -n "${id}|" ...

  4. 谷歌BERT预训练源码解析(三):训练过程

    目录前言源码解析主函数自定义模型遮蔽词预测下一句预测规范化数据集前言本部分介绍BERT训练过程,BERT模型训练过程是在自己的TPU上进行的,这部分我没做过研究所以不做深入探讨.BERT针对两个任务同 ...

  5. Node.js 安装第三方模块包(npm),通过 package.json配置信息安装项目依赖的模块

    npm下载安装的第三方模块包官网(提供包名和使用方法):https://www.npmjs.com/ 淘宝镜像(国内,比较快):https://npm.taobao.org/ commonjs01.j ...

  6. vue 项目编译打包

    1. npm run build 2. npm install -g serve 3.serve dist 原文地址:https://www.cnblogs.com/jy13638593346/p/9 ...

  7. Python 函数参数有冒号 声明后有-> 箭头 返回值注释 参数类型注释

    在python3.7 环境下 函数声明时能在参数后加冒号,如图: 1 def f(ham: str, eggs: str = 'eggs') -> str : 2 print("Ann ...

  8. linux常用命令速记

    一.命令提示符说明 1. [root@localhost ~]# root: 当前登录用户 localhost: 主机名 ~: 当前所在目录 #: 超级用户提示符($: 普通用户) 2. -rwxr- ...

  9. 第一种方式:cookie的优化与购物车实例

    一 Cookie 的优化 1.1 一般而言,我们设置cookie是在php中设置 例如: <?php setcookie('testKey1','hello world',0,'/'); //# ...

  10. git学习六:git提交忽略不必要的文件或文件夹

    创建maven项目,使用git提交,有时需要忽略不必要的文件或文件夹,只保留一些基本. 例如如下截图,实际开发中我们只需提交:src,.gitignore,pom.xml 而自己项目文件一般都保留,但 ...