一  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. 枚举在switch中的运用

    Season.java package com.sxt.utils.enum2; public enum Season { 春,夏,秋,冬; } TestSeason.java package com ...

  2. python 集合运算

  3. ocilib linux编译安装

    1.首先下载ocilib到自己目录 github:https://github.com/vrogier/ocilib 2.在下载instantclient 11.2.2的文件: instantclie ...

  4. android学习——android 常见的错误 和 解决方法

    1. Application does not specify an API level requirement! 解决方法:AndroidManifest.xml中 加入: <uses-sdk ...

  5. LRJ-Example-06-17-Uva10562

    main() 函数中的这两行 fgets(buf[0], maxn, stdin); sscanf(buf[0], "%d", &T); 不能简单替换为 scanf(&qu ...

  6. Project Euler Problem 14-Longest Collatz sequence

    记忆化搜索来一发.没想到中间会爆int #include <bits/stdc++.h> using namespace std; const int MAXN = 1000000; in ...

  7. HTML的优化

    HTML的优化 : 1).h标签的使用: 要注意的是,不论任何页面,h1标签只能出现一次,它是当前页面的主标题,权重最高, 所以要慎用 . 一般情况下,如果有关键词的话最好是在h1里面出现. h2是表 ...

  8. a span做成按钮时,文字不被选中样式

    HTML: <a class="button"></a> <span class="button"></span> ...

  9. H3C ISDN DCC备份配置示例

  10. js数组冒泡排序

    文章地址 https://www.cnblogs.com/sandraryan/ js数组的冒泡排序是最经典的一种排序方式(我以为). 冒泡排序是吧一组数组的元素两两比较,交换位置,通过多轮比较,实现 ...