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 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...
随机推荐
- LeetCode初级算法--动态规划01:爬楼梯
LeetCode初级算法--动态规划01:爬楼梯 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net ...
- C#初始类和命名空间
本节内容: 1.剖析Hello,World程序 1.1初始类(class)与名称空间(namespace) 2.类库的引用 2.1DLL的引用(黑盒引用) 2.2项目引用(白盒引用) 2.3建立自己的 ...
- 从零开始搭建Electron+Vue+Webpack项目框架,一套代码,同时构建客户端、web端(一)
摘要:随着前端技术的飞速发展,越来越多的技术领域开始被前端工程师踏足.从NodeJs问世至今,各种前端工具脚手架.服务端框架层出不穷,“全栈工程师”对于前端开发者来说,再也不只是说说而已.在NodeJ ...
- Java 根据权重获取数据 基础 极简 准确率高
package sl; import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.ut ...
- Java 异常(一)
目录 异常简介 异常架构图 常见异常 异常分类 一:异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加 ...
- JVM 知识点补充——永久代和元空间
之前已经讲过了不少有关 JVM 的内容,今天准备将之前没有细讲的部分进行补充,比如:永久代和元空间. 永久代 Java 的内存中有一块称之为方法区的部分,在 JDK8 之前, Hotspot 虚拟机中 ...
- Kubernetes入门学习--在Ubuntu16.0.4安装配置Minikube
目 录 一. 安装minikube环境 1.1. 安装前准备 1.2. 安装Lantern 1.2.1. Lantern下载网站 1.2.2. Lantern下载地址 1.2.3. Lantern安装 ...
- web前端面试题(含答案)
HTML+CSS1.对WEB标准以及W3C的理解与认识标签闭合.标签小写.不乱嵌套.提高搜索机器人搜索几率.使用外 链css和js脚本.结构行为表现的分离.文件下载与页面速度更快.内容能被更多的用户所 ...
- vue进入新页面,与原页面滚动到相同高度的解决方案
可以在vue路由新增scrollBehavior,控制跳转页面高度 import Router from 'vue-router' new Router({ scrollBehavior (to, f ...
- PHP 类中使用全局变量和全局常量
<?php $global_var = "var"; define('global_const', 'const'); class Test { public $_var; ...