网络知识02:TCP/IP概述
一 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概述的更多相关文章
- 【转载】[基础知识]【网络编程】TCP/IP
转自http://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=27043 [基础知识][网络编程]TCP/IP iooops 胖友们楼主我又 ...
- 嵌入式linux的网络编程(1)--TCP/IP协议概述
嵌入式linux的网络编程(1)--TCP/IP协议概述 1.OSI参考模型及TCP/IP参考模型 通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著 ...
- TCP/IP概述(网络互联与TCP/IP)
TCP/IP概述(网络互联与TCP/IP) 用IP实现异构网络互联 从用户角度如何实现异构网络互联: 从用户角度看,实现异构网络互联的关键点就是使各种网络类型之间的差异对自己透明.在TCP/IP协议中 ...
- 网络编程之TCP/IP各层详解
网络编程之TCP/IP各层详解 我们将应用层,表示层,会话层并作应用层,从TCP/IP五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议,就理解了整个物联网通信的原理. 首先,用户感知到的只 ...
- iOS网络协议 HTTP/TCP/IP浅析
一.TCP/IP协议 话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样.一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通.两台电 ...
- 第12章 网络基础(1)_网络分层和TCP/IP协议族
1. 协议的概念 (1)计算机网络中实现通信必须有一些约定.如对速率.传输代码.代码结构.传输控制步骤和出错控制等约定,这些约定即被称为通信协议 (2)在两个节点之间要成功地进行通信,两个节点之间必须 ...
- 网络协议: TCP/IP 和UDP/IP
网络协议: TCP/IP 和UDP/IP TCP/IP TCP/IP(Transmission Control Protocol/Internet Protocol)是一种可靠的网络数据传输控制协议. ...
- 2015-07学习总结——网络编程(TCP/IP)
之前学习的主要内容是单机上的处理,比如编程语言.游戏编程.数据库.多媒体编解码.其实对网络也有些接触,比如WWW.HTTP.UDP/TCP.RTP.RTMP.SNMP.FTP.单播组播.Telnet. ...
- 【网络编程】TCP/IP、UDP、网络概…
计算机刚刚发明出来的时候,两台计算机之间是无法通信的,为了使计算机之间能够进行数据的交流,制定了OSI(Open SystemInterconnection)开放系统互联模型,而TCP/IP(我们所使 ...
随机推荐
- XML内部DTD约束 Day24
<?xml version="1.0" encoding="UTF-8"?> <!-- 内部DTD --> <!-- XML:ex ...
- 洛谷P3366 【模板】最小生成树(kuskal)
#include<bits/stdc++.h> using namespace std; ; ; struct node{ int cnt,fa; }f[maxn]; inline voi ...
- oracle函数 power(x,y)
[功能]返回x的y次幂 [参数]x,y 数字型表达式 [返回]数字 [示例] select power(2.5,2),power(1.5,0),power(20,-1) from dual; 返回:6 ...
- Libev源码分析09:select突破处理描述符个数的限制
众所周知,Linux下的多路复用函数select采用描述符集表示处理的描述符.描述符集的大小就是它所能处理的最大描述符限制.通常情况下该值为1024,等同于每个进程所能打开的描述符个数. 增大描述符集 ...
- hdu 3805 Triangle Conjecture
Problem - 3805 题意是给出边的长度的,求出边长相等的三角形,输出任意一种答案.边长是1~n的数,每个只能用一次. 其实比较容易可以看出,无论我们怎么操作,只要保持边长总和都是相邻整数就是 ...
- H3C IP及其相关协议
- oracle用UNION-ALL 替换UNION ( 如果有可能的话)
当SQL语句需要UNION两个查询结果集合时,这两个结果集合会以UNION-ALL的方式被合并, 然后在输出最终结果前进行排序. 如果用UNION ALL替代UNION, 这样排序就不是必要了. 效率 ...
- 使用php函数ini_set()重新设置某个配置的设置值
使用PHP的ini_set()函数 ini_set (PHP 4, PHP 5, PHP 7) ini_set — 为一个配置选项设置值 说明 string ini_set ( string $var ...
- Redis正确使用的十个技巧
http://www.jb51.net/article/73376.htm Redis 在当前的技术社区里是非常热门的.从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redi ...
- C#面向对象--练习题
public class Program { //用户自定义:我们自己定义这种数据类型 public struct jiegouti// 结构体前面加上public, 可供外界访问 { public ...