TCP/IP网络基础知识
TCP/IP是一组用于实现网络互联的通信协议,通常称为TCP/IP协议族。包括TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等。
一、TCP/IP模型将协议分为了4层
- 应用层——为用户提供所需的各种服务,如FTP、Telnet、DNS、SMTP等
- 传输层——为应用层实体提供端到端的通信功能,保证数据包按序传送以及数据的完整性。TCP、UDP等
- 面向连接的传输控制协议(Transmission Controt Protocol, TCP)——可靠的、通过”三次握手“来连接的数据传输服务
- 面向无连接的用户数据报协议(Cuser Datagram Protocol, UDP)——不保证可靠的、无连接的数据传输服务
- 网际互联层——主要解决主机到主机的通信路由问题,赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。IP、IGMP、ICMP等
- 网际协议(Internet Protocol, IP)——提供一个可靠、无连接的数据报传递服务
- 互联网组管理协议(Internet Group Management Protocol, IGMP)
- 互联网控制报文协议(Internet Control Message Protocal, ICMP)
- 网络接口层——监视数据在主机和网络之间的交换[数据链路层和物理层]
- 地址解析协议(Address Resolution Protocol, ARP, 在数据链路层)
二、TCP/IP基本知识
网络主机间能够互相通信所需要共同遵守的规则就是网络协议,普遍使用TCP/IP网络协议,此外还需要正确配置IP地址、子网掩码等网络参数。
1)TCP/IP协议
TCP传输控制,是传输层的协议,它提供了可靠的数据报传输服务
IP 网际互联,是网际互联层的协议,用来提供网络中的统一编址和路由问题
2)IP地址
在Internet上,个主机通过TCP/IP协议发送和接收数据报,各个数据报根据其目的主机的IP地址来进行互联网络中的路由选择。
IP地址是互联网上网络接口的唯一标识,给网络中主机提供唯一的网络地址。IPv4是由一个32位的二进数字组成,点分十进制表示;IP地址采用两级结构,主机所属的网络+主机,网络地址表示主机的网段,同一网段中的所有主机拥有相同的网络地址,网络地址是统一分配的,目的是为了保证网络地址的全球唯一性;主机地址表示某个网段中的一个具体的网络接口,主机地址由各个网络的系统管理员分配。
IP地址分为A、B、C、D、E五类,A、B、C三类在全球范围内统一分配,D、E为特殊网址,由高位字节标示。另外还有 一种专用IP地址,这类地址只在专用网络(内网)中使用。如:10.0.0.1~10.255.255.254、172.26.0.1~172.32.255.254、192.168.0.1~192.168.255.254,我靠中心和圆山的王都在内网网段!
地址类型 | 高位字节 | 最高字节范围 | 网络地址位数(可支持网络数) | 主机ID位数(每个网络支持的主机数) |
A | 0 | 1~126 | 7位(2^7-2=126) | 24位(16777214) |
B | 10 | 128~191 | 14位(16384) | 16位(65534) |
C | 110 | 192~223 | 21位(2097152) | 8位(254) |
3)子网与子网掩码
划分子网是指把主机地址中的一部分借用为网络地址,这样可以把一个较大的网络划分为多个较小的网络,这些较小的网络即为子网,子网是基于一组IP地址的逻辑网络。
为了确定网络地址和主机地址就必须借助子网掩码,子网掩码码是一个32为地址,其作用是用于屏蔽IP地址的一部分以区分网络地址和主机地址,指明32位IP地址中哪些位为网络地址,哪些位为主机地址。TCP/IP协议利用子网掩码判断目标主机是位于本地网络还是远程网络。A、B、C三类网络的子网掩码:
类别 | 二进制值 | 十进制值 |
A | 11111111.00000000.00000000.00000000 | 255.0.0.0 |
B | 11111111.11111111.00000000.00000000 | 255.255.0.0 |
C | 11111111.11111111.11111111.00000000 | 255.255.255.0 |
4)端口
数据报通过IP到带目的主机后,由于多个应用程序在同一主机上运行,目的主机必须通过端口来确定应该把数据报传送给主机中哪个程序。端口号可以分为三类:
公认端口(WellKnownPorts)0~1023,它们紧密绑定(binding)于一些服务。
注册端口(RegisteredPorts)1024~49151,他们松散的banding于一些服务。许多系统处理动态端口从1024开始
动态和/或私有端口(Dynamicand/orPrivatePorts)49125~65535,理论上,不应为服务分配这些端口,但也有例外。
5)网关地址
主机的IP地址和子网掩码设置后,同一网段内的机器就可以通信了,而处于不同网段的主机则必须通过网关才能进行通信,把数据包转发给它的网关,再由网关转发到相应的网络。网关是一个网络和另一个网络间的入口地址(IP),为了实现与不同网段的主机进行通信,必须为主机设置网关地址,它一定是同网段主机或根路由器的IP地址。
6)域名
因为十进制点分不容易记忆,所以有了域名,cn为中国。
7)DNS服务器地址
解析域名包括从域名到IP地址映射的正向解析和从IP到域名映射的反向解析。DNS采用层次化的分布式数据结构,每个DNS服务器只负责其管辖区域中的主机域名和IP地址的映射表。
3、三次握手、四次挥手
TCP/IP网络基础知识的更多相关文章
- TCP/IP_网络基础知识
今天看到k8s的网络,顿感网络知识不是特别扎实,立马回头补一下Tcp-ip知识,顺便记录下学习的过程: 计算机与网络发展的7个阶段: 批处理时代(计算机按照顺序处理,50年代)->分时系统时代( ...
- TCP/IP协议栈基础知识
设计思想 把一个复杂的事物进行分层划分,使得每个部分变得相对简单 分层模型 OSI分为7层模型 tcp/ip分为四层模型 应用层(Application) 传输层(Transport) 网络层(I ...
- 【RL-TCPnet网络教程】第12章 TCP传输控制协议基础知识
第12章 TCP传输控制协议基础知识 本章节为大家讲解TCP(Transmission Control Protocol,传输控制协议),通过本章节的学习,需要大家对TCP有个基本的认识,方 ...
- Linux学习(1)- TCP/IP网络协议基础
Linux学习(1)- TCP/IP网络协议基础 一.TCP/IP 简介 学习内容 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输 ...
- (转) HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手、TCP/IP协议基础、加密学)
HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手.TCP/IP协议基础.加密学) 原文:http://blog.csdn.net/itermeng/article/detai ...
- TCP/IP协议基础(转)
转自 http://www.chinaunix.net 作者:Bernardus160 发表于:2003-12-03 17:33:15 TCP/IP协议基础 -------------------- ...
- 网络基础知识、ASP.NET 核心知识(1)*
为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...
- IP地址基础知识
IP地址基础知识 网络号:用于识别主机所在的网络:主机号:用于识别该网络中的主机. 一 OSI/RM模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 二 TCP/IP模型 数据链路层( ...
- Java 网络编程(一) 网络基础知识
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...
随机推荐
- SpringBoot 2.0整合阿里云OSS,实现动静分离架构
前言 相信大部分开发者对下面这张架构图并不陌生吧,现在很多网站/应用都采用了动静分离的架构进行部署.博主的博客也不例外,主机采用的是阿里云的 ECS,使用 CDN 做静态内容分发,不过静态文件还是存储 ...
- 实践开发:vue框架重点知识分析
一个VUE项目的主树: assets文件夹是放静态资源: components是放组件: router是定义路由相关的配置; view视图: app.vue是一个应用主组件: main.js是入口文件 ...
- 第三方软件 Serv-u提权
Serv-U FTP Server,是一种被广泛运用的FTP服务器端软件,支持3x/9x/ME/NT/2K等全Windows系列.可以设定多个FTP服务器.限定登录用户的权限.登录主目录及空间大小等 ...
- selenium-find_element相关内容(2)
find_element跟find_element_by_xxx的区别 1.查看文件D:\soft\python36\Lib\site-packages\selenium\webdriver\remo ...
- unittest断言
assertEquals(expected,actual,msg=msg) # 判断 expected,actual是否一致,msg类似备注,可以为空
- ios 11 系统CPU过高,xib中textfield使用导致出过高
ios11 发布之后,作为开发肯定是第一时间进行了升级测试,全新的系统不免会带来这样那样的问题.项目中使用xib的小伙伴们会发现,项目的cpu使用率非常高,尤其是初始化的时候,并没有线程的操作,CPU ...
- 互联网基础协议 - HTTP
HTTP的简介 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. HTTP是一个基于TCP/ ...
- Python 破解Linux密码
简介:因为Linux的密码都是加密过的(例如:$6$X.0bBN3w$NfM7YYHevVfCnZAVruItAEydaMJCF.muefZsxsgLK5DQoahW8Pqs1BSmoAFfi5J/b ...
- django-模板之过滤器Add(十三)
1.add 若前后类型不匹配,就返回空. 其他的一些过滤器: first:返回列表的第一个值: last:返回列表的最后一个值: length:返回变量值的长度: linebrakebr:将纯文本中的 ...
- 暑期集训20190725 胜地不常(paradise)
[题目描述] 给定两个长度为n的非负整数数组a,b, [输入数据] 第一行一个整数n. 第二行n个整数a1~an. 第三行n个整数b1~bn. [输出数据] 一行一个整数表示答案. [样例输入] 4 ...