网络知识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(我们所使 ...
随机推荐
- 自动编码(AE)器的简单实现
一.目录 自动编码(AE)器的简单实现 一.目录 二.自动编码器的发展简述 2.1 自动编码器(Auto-Encoders,AE) 2.2 降噪自编码(Denoising Auto-Encoders, ...
- Lambda plus: 云上大数据解决方案
本文会简述大数据分析场景需要解决的技术挑战,讨论目前主流大数据架构模式及其发展.最后我们将介绍如何结合云上存储.计算组件,实现更优的通用大数据架构模式,以及该模式可以涵盖的典型数据处理场景. 大数据处 ...
- android学习——android 常见的错误 和 解决方法
1. Application does not specify an API level requirement! 解决方法:AndroidManifest.xml中 加入: <uses-sdk ...
- mongodb Helper
/// <summary> /// mongoDBHelper访问助手 /// </summary> public class mongoDBHelper { /// < ...
- let & const 命令
一.let命令 用于声明变量. 1) 所声明的变量只在let命令所在代码块内有效.(块级作用域) { let a=10; var b=1; } a // ReferenceError: a is no ...
- laravel5 怎么获取数组形式的数据
当构建 JSON API 时,您可能常常需要把模型和关联对象转换成数组或JSON.所以Eloquent里已经包含了这些方法.要把模型和已载入的关联对象转成数组,可以使用 toArray方法: $use ...
- 使用 Laravel-Excel 进行 CSV/EXCEL 文件读写
https://blog.csdn.net/yiluohan0307/article/details/80229978 http://www.ptbird.cn/laravel-excel-csv.h ...
- Group_concat介绍与例子
进公司做的第一个项目就是做一个订单追踪查询,里里外外连接了十一个表,作为公司菜鸡的我麻了爪. 其中有一个需求就是对于多行的数据在一行显示,原谅我才疏学浅 无奈下找到了项目组长 在那学来了这个利器 ( ...
- java 集合遍历输出方式
Iterator:迭代输出 一旦操作集合的遍历输出,首选Iterator接口; ListIterator:Iterator子接口,专门输出List中的元素; Enumeration:古老的输出方式,迭 ...
- H5 网络状态接口
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...