套接字和域名系统DNS
套接字产生的原因:
当应用进程通过传输层进行通信时 ,TCP和 UDP将面临同时为多个应用进程提供并行通信的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。 为了区别每个应用进程和连接,许多计算机的操作系统为应用进程和TCP/IP协议簇提供了称为套接字的接口。
应用进程通过套接字接入到网络:

套接字的定义:
套接字是同一台主机应用进程和传输层的接口。因为它是建立在网络应用程序之上的可编程接口,所以它也被称为API﹙应用程序接口﹚,Socket可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket中,使这段信息能传送到其他程序中。

域名系统DNS:
优点:容易记忆。所以,当我们访问主机(主要是服务器)的时候经常使用域名。
缺点:域名为网络中的主机或路由器提供的信息很少,而且,域名是由可变长度的字符构成的,所以他们很难被路由器处理。
IP地址:
优点:它为网络中的主机提供较多的位置信息, 同时IP地址也适合路由器处理。
缺点:抽象和难于记忆。 当我们在网络层访问主机的时候使用IP地址。
既然域名和IP地址可以不同层次上标志主机 或路由器,那么如何实现域名和IP地址之间 的映射?
通过域名解析协议(DNS)协议来实现域名和IP地址之间的映射。
DNS既代表域名系统又代表域名解析协议。
许多应用层软件经常直接使用域名系统 DNS (Domain Name System),但计算机的用户只是间接而不是直接使用域名系统。
因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。
名字到IP地址的解析是由若干个域名服务器程序完成的。
域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。
因特网采用了层次树状结构的命名方法。 任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。
域名的结构由标号序列组成,各标号之间用点隔开: … . 三级域名 . 二级域名 . 顶级域名;各标号分别代表不同级别的域名。
域名只是个逻辑概念,并不代表计算机所在的物理地点。 变长的域名和使用有助记忆的字符串,是为了便于人来使用。而IP地址是定长的32位二进制数字则非常便于机器进行处理,却不适合人们记忆。
一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。 每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。 DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。
套接字和域名系统DNS的更多相关文章
- 套接字名与DNS
2 现代地址解析 首先要说Python套接字最强大的工具之一-------getaddrinfo() 这个函数可能是我们用来将用户指定的主机名和端口号转换为可供套接字方法使用的地址时所需的唯一方法. ...
- 基本套接字编程(7) -- udp篇
1. UDP概述 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互 ...
- linux学习笔记之套接字
一.基础知识. 1:套接字基础. 1,是通信端点的抽象. 2,在UNIX类系统中被当作是一种文件描述符. 3,套接字通信域. 域 描述 AF_INET IPV4因特网域 AF_INET6 IPV6因特 ...
- Linux编程---套接字
网络相关的东西差点儿都是建立在套接字之上.所以这个内容对于程序猿来说还是蛮重要的啊. 事实上套接字也就是一个特殊的设备文件而已,我始终不能明确为什么要叫套接字.这么个奇怪的名字.只是还是就这样算了吧. ...
- 5-8套接字socket
socket概念 socket层 理解socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协 ...
- python 全栈开发,Day33(tcp协议和udp协议,互联网协议与osi模型,socket概念,套接字(socket)初使用)
先来回顾一下昨天的内容 网络编程开发架构 B/S C/S架构网卡 mac地址网段 ip地址 : 表示了一台电脑在网络中的位置 子网掩码 : ip和子网掩码按位与得到网段 网关ip : 内置在路由器中的 ...
- 《Python》网络编程之客户端/服务端框架、套接字(socket)初使用
一.软件开发的机构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:QQ.微信.网盘等这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问 ...
- 基本UDP套接字编程
概述 使用TCP编写的应用程序和使用UDP编写的应用程序之间存在一些本质差异,其原因在于这两个传输层之间的差别:UDP是无连接不可靠的数据报协议,非常不同于TCP提供的面向连接的可靠字节流.然而相比T ...
- 《Unix网络编程卷1:套接字联网API》读书笔记
第一部分:简介和TCP/IP 第1章:简介 第2章:传输层:TCP.UDP和SCTP TCP:传输控制协议,复杂.可靠.面向连接协议 UDP:用户数据报协议,简单.不可靠.无连接协议 SCTP:流控制 ...
随机推荐
- Lambda表达式介绍
Lambda表达式实际上是一个匿名函数.它包含表达式和语句,常用于创建委托或表达式目录树类型.所有Lambda表达式都是用Lambda运算符---------- =>,该运算符读为" ...
- 开机启动 sh
我编辑 /etc/init.d/vsftpd 将 nohup java -jar fff.jar & 放在前面 .就执行了
- 【实验室笔记】太阳能板清洁器DEMO
<太阳能板清洁器DEMO>2015年的毕昇杯比赛作品,用时两天,整体设计思路很简单: [机械结构]: 清洁器主体采用角钢搭建,用钢锯切割好以后,上螺丝,走线用的尼龙扎带捆绑: 清洗滚轮采用 ...
- JSP内置对象--4种属性范围 (pageContext,request,session,application)
pageContext: javax.servlet.jsp.JspContext抽象类的父类JspContext 中有以下方法. request:javax.servlet.http.的接口Http ...
- dp + 组合数 Codeforces Beta Round #9 (Div. 2 Only) D
http://codeforces.com/problemset/problem/9/D 题目大意:给你一个二叉树和n个数字,满足左小右大,能形成多少种不同的二叉树 思路:定义dp[i][j]表示目前 ...
- VMware设置NAT网络
很多初学者迷茫与如何实现虚拟机VMware与主机互联,这里小编介绍下简单实用的NAT网络. 工具/原料 VMware 方法/步骤 打开VMware,选择 编辑, 虚拟网络编辑器 默认情况下, ...
- ios7.1 masonry布局中出现的问题
UITextView中如果添加了子空间,比如自己添加一个placeHolder,placeHolder的Label使用masonry布局,会出现崩溃,原因是:在UITextView没有对子控件进行布局 ...
- openCV(二)---iOS中使用openCV的图片格式转换
可以实现将UIImage和IplImage类型实现相互转换 //由于OpenCV主要针对的是计算机视觉方面的处理,因此在函数库中,最重要的结构体是IplImage结构. - (IplImage *)C ...
- MVC 和 MVVM
MVVM MVVM 是 Model-View-ViewModel 的简写,MVVM 模式和 MVC 模式一样,主要目的是分离视图(View)和模型(Model) MVC 回顾 MVC 结构图 MVC ...
- 几种JAVA加密算法
转自:http://www.cnblogs.com/mycodelife/archive/2009/04/22/1441624.html